#include<bits/stdc++.h>
using namespace std;
struct node{
	int r,sum;
};
int f[100005];
bool cmp(node a,node b) {
	return a.r<b.r;
}
int main() {
        freopen("duel.txt","r",stdin);                                             
        freopen("duel.out","w",stdout);                                           
        int n;
	cin>>n;
	vector<int> vy,vy2;
	vector<node> vc;
        int x;
	for(int i=0;i<n;i++) {
		cin>>x;
		f[x]++;
		vy.push_back(x);
		if(f[x]==1) vy2.push_back(x);
	}
	for(int i=0;i<vy2.size();i++) {
		node nn;
		nn.r=vy2[i];
		nn.sum=f[vy2[i]];
		vc.push_back(nn);
	}
	sort(vy.begin(),vy.end(),greater<int>());
	sort(vc.begin(),vc.end(),cmp);
	while(vc.size()!=1&&!vy.empty()) {
		for(int i=0;i<min(vc[1].sum,vc[0].sum);i++) vy.pop_back();
		vc.erase(vc.begin());
	}
	cout<<vy.size();
        return 0;
}
